1. Field
Apparatuses and methods consistent with exemplary embodiments relate to providing a time shift function in a cloud computing system and, more particularly, to allowing a user of a client terminal to view past screen information and past contents by storing an image displayed on a screen of the client terminal, in a cloud server.
2. Description of the Related Art
Cloud computing indicates Internet-based or network-based computing technology. A user may use the cloud computing by establishing a program infrastructure in a data server in a network and executing a program for a terminal such as a personal computer (PC) or a mobile phone. Here, the cloud indicates a complicated and hidden infrastructure. The user may use the cloud computing even without knowing this complicated infrastructure.
FIG. 1 is a block diagram of a cloud computing system. In the present disclosure, “cloud server” indicates a server for providing software in cloud computing, and “client terminal” indicates a device for providing hardware for displaying a result that is processed using software in the cloud server. That is, the client terminal may include a display and a least number of components for processing a user input. In other words, the client terminal need not include a separate storage device for storing data or programs. Of course, some types of client terminals included in the cloud computing system may include a data storage device. For example, a client terminal, such as a cloud monitor, for only sending a user input to the cloud server and displaying a result of processing the user input may not include a data storage device. However, devices, such as smart phones and tablet PCs, may include a data storage device. Of course, it is understood that exemplary embodiments are not limited thereto.
Referring to FIG. 1, when the client terminal sends a control signal to the cloud server, the cloud server processes the control signal. For example, when the client terminal sends a control signal for executing a specific program to the cloud server, the cloud server executes the specific program and sends a processing result to the client terminal, wherein the processing result indicates image information to be displayed on the client terminal.
Compared to a general personal computing service, in a personal computing device, such as a PC or laptop computer, when a user inputs a control signal using an input device such as a keyboard or a mouse, a central processing unit (CPU) processes the control signal and outputs a processing result to a display device such as a monitor. However, in the cloud computing system, a control signal input into the client terminal is processed by the cloud server, and the cloud server converts a result of the control signal being processed into image information and sends the image information to the client terminal. The client terminal displays the received image information on a display device of the client terminal.
The cloud server may efficiently utilize system resources by allocating a corresponding virtual machine to the client terminal. In addition, to reduce a load on a network when the cloud server sends the image information, the cloud server may capture the image information generated in response to the control signal and send image information generated using a screen encoder to the client terminal. In this case, the client terminal may parse the image information using a screen decoder included in the client terminal and display the parsed image information on a screen.
However, in a cloud computing system, since a client terminal includes only components for displaying a processing result based on a user input, a user cannot view a screen with which the user interacted in the past (this occurs in general personal computing devices as well). Although the user may restore the client terminal to a specific past time or restore a specific data file through a system or device backup, the user cannot view a past screen itself.